#include<stdio.h>
#include<string.h>
#include<unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
//int main()
//{
   // umask(0);//umask(0); 的含义是设置文件创建时的权限掩码为 0，也就是说，创建文件时不会屏蔽任何权限，
   // int fd=open("log.txt",O_CREAT|O_WRONLY|O_TRUNC,0666);//必须将权限带上，不然创建这个文件的时候权限是会出现问题的
    //O_CREAT：如果文件 "log.txt" 不存在，则会创建该文件。
    //O_WRONLY：表示以写入模式打开文件。也就是说，只能对文件进行写操作，不能读取。
    //O_TRUNC：如果文件已存在，并且打开文件时以写入模式（O_WRONLY）打开，则会截断文件的长度为 0。换句话说，如果文件已经有内容，打开它时会清空现有内容，从而让文件变为空。
   
    //我们现在想在原本的文件后面进行追加操作的话，我们只要改变第三个参数就行了
    //int fd=open("log.txt",O_CREAT|O_WRONLY|O_APPEND,0666);//必须将权限带上，不然创建这个文件的时候权限是会出现问题的
    


    //这里的话我们是进行读文件操作的
  //  int fd=open("log.txt",O_RDONLY,0666);//必须将权限带上，不然创建这个文件的时候权限是会出现问题的
  //  if(fd<0)
  //  {
  //    perror("open");
  //    return 1;
  //  }
  //  printf("fd:%d\n",fd);
  //  
  //  while(true)
  //  {
  //    char buffer[64];
  //    int n=read(fd,buffer,sizeof(buffer)-1);
  //    if(n>0)//就是读入成功了
  //    {
  //      buffer[n]=0;//read 函数的返回值表示实际成功读取的字节数，我们这里保证最后一个是以空字符结尾，而不是\0
  //      printf("%s",buffer);
  //    }
  //    else if(n==0)//读取结束了
  //    {
  //        break;
  //    }
  //  }

  //  
  //  //const char *msg="hello kaizi\n";
    //int cnt=5;
    //while(cnt)
    //{
    //    write(fd,msg,strlen(msg));//往fd这个文件里面写入msg这个里面的内容，写入的长度是msg的长度,并且我们这里是不能+1的，不能将\0算进去i的，如果将这个算进去的话，是可能出现乱码的情况的
    //    cnt--;
    //}

  //  close(fd);//使用这open的返回值进行文件的关闭操作
    //return 0;
//}
